home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / gnuish / swalibas / sw_smart.c < prev    next >
C/C++ Source or Header  |  1990-09-10  |  2KB  |  65 lines

  1. /* sw_smart.c - look whether a command supports long commandlines.
  2.    Copyright (C) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
  3.  
  4.    This file is part of SWAPLIB (the library), a library for efficient
  5.    execution of child processes under MS-DOS.
  6.  
  7.    The library is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 1, or (at your option)
  10.    any later version.
  11.  
  12.    The library is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with the library; if not, write to the Free Software
  19.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  
  21.    $Header: e:/gnu/swaplib/RCS/sw_smart.c'v 0.9 90/09/09 21:44:11 tho Stable $
  22.  */
  23.  
  24. #include <stdio.h>
  25. #include <stdlib.h>
  26. #include <string.h>
  27.  
  28. #include "swaplib.h"
  29.  
  30. extern void *xmalloc (size_t size);
  31. static char *smart_programs (void);
  32.  
  33. #define DELIMITER ":"
  34. #define SMART_PROGRAMS    "bash:make"
  35.  
  36. int
  37. swap_smart_p (char *name)
  38. {
  39.   char *list = smart_programs ();
  40.   char *tok;
  41.  
  42.   tok = strtok (list, DELIMITER);
  43.  
  44.   while (tok && strcmp (tok, name))
  45.     tok = strtok (NULL, DELIMITER);
  46.  
  47.   free (list);
  48.   return (tok != NULL);
  49. }
  50.  
  51. char *
  52. smart_programs (void)
  53. {
  54.   char *string = (char *) xmalloc (sizeof SMART_PROGRAMS);
  55.   return strcpy (string, SMART_PROGRAMS);
  56. }
  57.  
  58. /* 
  59.  * Local Variables:
  60.  * mode:C
  61.  * ChangeLog:ChangeLog
  62.  * compile-command:make
  63.  * End:
  64.  */
  65.